kea_dns_lib = shared_library(
    'kea-dns',
    'char_string.cc',
    'edns.cc',
    'exceptions.cc',
    'labelsequence.cc',
    'master_lexer.cc',
    'master_lexer_inputsource.cc',
    'master_loader.cc',
    'message.cc',
    'messagerenderer.cc',
    'name.cc',
    'opcode.cc',
    'question.cc',
    'rcode.cc',
    'rdata.cc',
    'rdataclass.cc',
    'rrclass.cc',
    'rrparamregistry.cc',
    'rrset.cc',
    'rrttl.cc',
    'rrtype.cc',
    'serial.cc',
    'time_utils.cc',
    'tsig.cc',
    'tsigerror.cc',
    'tsigkey.cc',
    'tsigrecord.cc',
    include_directories: [include_directories('.')] + INCLUDES,
    install: true,
    install_dir: LIBDIR,
    install_rpath: INSTALL_RPATH,
    build_rpath: BUILD_RPATH,
    link_with: LIBS_BUILT_SO_FAR,
    version: '82.0.0',
)
LIBS_BUILT_SO_FAR = [kea_dns_lib] + LIBS_BUILT_SO_FAR
subdir('tests')
kea_dns_headers = [
    'char_string.h',
    'edns.h',
    'exceptions.h',
    'labelsequence.h',
    'master_lexer.h',
    'master_lexer_inputsource.h',
    'master_lexer_state.h',
    'master_loader.h',
    'master_loader_callbacks.h',
    'message.h',
    'messagerenderer.h',
    'name.h',
    'opcode.h',
    'question.h',
    'rcode.h',
    'rdata.h',
    'rdataclass.h',
    'rrclass.h',
    'rrparamregistry.h',
    'rrset.h',
    'rrttl.h',
    'rrtype.h',
    'serial.h',
    'time_utils.h',
    'tsig.h',
    'tsigerror.h',
    'tsigkey.h',
    'tsigrecord.h',
    'txt_like.h',
]
# Purposely not installing these headers:
# * name_internal.h: used only internally, and not actually DNS specific.
install_headers(kea_dns_headers, preserve_path: true, subdir: 'kea/dns')
